<!DOCTYPE html>
<style>body { margin:8px; }</style>
<div style="columns:1; width:10px; height:200px; column-fill:auto;">
    <div id="elm" style="margin-left:-20px; margin-top:-25px; width:4000px; height:40px;"></div>
</div>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
    test(() => {
        var elm = document.getElementById("elm");
	var rects = elm.getClientRects();
	assert_equals(rects.length, 1);
	var rect = rects[0];
	// #elm is offset -20px,-25px relatively to its multicol container, due
	// to negative margins. BODY is offset 8px,8px due to its margin. So the
	// absolute offset will be (-20px+8px),(-25px+8px) = -12px,-17px. The
	// width and height will be the unclipped bounding box of #elm.
	assert_equals(rect.left, -12);
	assert_equals(rect.top, -17);
	assert_equals(rect.width, 4000);
	assert_equals(rect.height, 40);
    }, "getClientRects should include overflow");
</script>
